﻿using System.Diagnostics;

namespace WebApplication1
{
    public class LegacyService2
    {
        public async Task<string> CallLegacyAsync(string input)
        {
            var startInfo = new ProcessStartInfo
            {
                FileName = @"D:\1_dev\龙腾\龙腾WebApi\LTWebApi\ConsoleApp1\bin\Debug\ConsoleApp1.exe", // 可用绝对路径，例如 @"C:\Legacy\LegacyHost.exe"
                Arguments = $"\"{input}\"",   // 参数传递，注意加引号避免空格问题
                RedirectStandardOutput = true, // 重定向 stdout 到当前进程可读流
                UseShellExecute = false,       // 必须 false 才能重定向
                CreateNoWindow = true          // 不显示 cmd 窗口
            };

            using var process = Process.Start(startInfo);

            string output = await process.StandardOutput.ReadToEndAsync(); //异步读取 stdout 全部内容

            await process.WaitForExitAsync(); // 等待执行完毕

            return output.Trim(); // 去掉换行符等多余字符
        }
    }
}
